1. Field of the Invention
The present invention relates generally to an improved data processing system. More specifically, the present invention is directed to a computer implemented method, apparatus, and computer useable program code to identify database triggers.
2. Description of the Related Art
In today's dynamic data processing environment, an enterprise may encounter frustration because software application enhancement needed accommodate process changes within the enterprise is difficult to accomplish without totally redesigning the entire system. Often system integrators and software vendors design systems based upon current enterprise processes. Consequently, the systems tend to be rigid. This is particularly true for database application systems where the original design of the database schema dictates what actions the application can perform. This type of database schema design leaves little room for future enhancement or adjustment.
Traditionally, two approaches are used to address the problem of application enhancement stated above. One approach is provided by the software application itself. Using this approach, the software application has the ability to send messages, with regard to specific application actions, to other systems for analysis according to the original design of the software application. For example, WebSphere® Commerce Suite has the ability to send a message with regard to detailed purchase order information. This message may then be sent to an enterprise resource planning system or a customer relationship management system for analysis and possible further action. This type of software application tends to provide only limited application enhancement ability for certain application actions and cannot cover all possible end user scenarios that might occur in real life.
Developers of the software application provide the second approach. Using this second approach, developers create triggers within the software application according to the enterprise's needs. Triggers are procedures, which are stored in a database, and are executed or “fired” when a table is modified. Triggers are powerful tools that may be used to perform many tasks such as restricting access to specific data, perform logging, or auditing of data sets. A trigger is activated whenever a specified event, such as an insert event, delete event, or update event, occurs on a particular table. Also, triggers have an activation time, such as before, after, or instead of the triggering event.
Using this second approach, developers are required to allocate large amounts of time to understand the relationship between application actions and the data persistency within the associated database or databases. This second approach usually is very time consuming and relies heavily on the developer's database skills and understanding of database table relationships. Consequently, using this approach, if a developer does not posses the required database expertise to design and develop enterprise logics based on triggers that are previously not available or otherwise costly to discover, application enhancement is hampered.
As a result, enterprises with changing process needs are forced to go back to the system integrator or software vendor to request redesign of the database schema to add more triggering capabilities or hire database experts to thoroughly analyze the database schema to discover triggers. Both of these options create large expenditures for the enterprise and cause decreased enterprise productivity due to delayed system modifications.
Therefore, it would be beneficial to have a computer implemented method, apparatus, and computer usable program code to automatically discover and identify database triggers for any software application action without understanding the underlying database schemas for system application enhancement.